﻿@using Didsoft.Mvc.Helpers
@model SIOGDE.AccesoDatos.Entidades.DestinoAsignado
@{
    string redireccion = ViewBag.Redireccion;
    Layout = "../Shared/_LayoutJtable.cshtml";   
}

<link href="~/Content/DataForm.css" rel="stylesheet"/>
@section LocalStyles
{
    <link href="~/Content/themes/redmond/jquery-ui-1.8.16.custom.css" rel="stylesheet" />   
}
   
<script>
    $(function () {
        $("#btnCommon").click(function () {
            var config = getDestino();
            var json = JSON.stringify(config);
            //alert(json);
            $.ajax({
                url: 'JSONCreate',
                contentType: 'application/json',
                type: 'POST',
                dataType: 'json',
                data: json
            })
           .success(function (result) {               
               if (result.Result == 'ERROR')
                   alert(result.Message);
               else {
                   
                   LoadDataTable();
                   clearFields();
               }
           })
           .error(function (xhr, status) {
               //alert(xhr.Message);
               alert('ups!!!, Servicio No disponible')
           });

        });
    });

    function getDestino() {
        var destino = {}        
        destino.PersonaId_FK = $("#PersonaId_FK").val();
        destino.GestionId_FK = $("#GestionId_FK").val();
        destino.UnidadMilitarId = $("#UnidadMilitarId").val();
        destino.GradoId = $("#GradoId").val();
        destino.TipoCargoComandoId = $("#TipoCargoComandoId").val();
        destino.FechaDesde = $("#FechaDesde").val();
        destino.FechaHasta = $("#FechaHasta").val();
        destino.FechaAsignacion = $("#FechaAsignacion").val();
        destino.Observaciones = $("#Observaciones").val();        
        return destino;
    }

    function clearFields()
    {
       

        $("#UnidadMilitarId_autocomplete").val('');
        $("#GradoId_autocomplete").val('');
        
        $("#TipoCargoComandoId_autocomplete").val('');
        $("#EspecialidadId_FK_autocomplete").val('');        

     
        $("#FechaDesde").val('');
        $("#FechaHasta").val('');
        $("#FechaAsignacion").val('');
        $("#Observaciones").val('');
    }


    function LoadDataTable() {
        $('#MyTableContainer').jtable('load', { personaId: $('#PersonaId_FK').val() });
    }


</script>


<div class="box common"  id="myDataForm">
     <div class="header">Destinos de : @Model.Persona.NombreCompleto</div>
     <fieldset class="boxBody">
        @Html.HiddenFor(model => model.PersonaId_FK)
          <ul id="list" class="inputcontrols-grid">
              <li>
                  @Html.LabelFor(model => model.Gestion)
                  @Html.DropDownListFor(model=>model.GestionId_FK,(SelectList)ViewBag.Gestiones)                  
              </li>

               <li data-id="2">
                @Html.LabelFor(model => model.FechaDesde)        
                @Html.EditorFor(model => model.FechaDesde)
              </li>
              <li data-id="2">
                @Html.LabelFor(model => model.FechaHasta)
                @Html.EditorFor(model => model.FechaHasta)
              </li>
               <li data-id="2">
                @Html.LabelFor(model => model.FechaAsignacion)
                @Html.EditorFor(model => model.FechaAsignacion)
              </li>
         </ul><br>
         <ul id="list2" class="inputcontrols-grid">
              <li data-id="1">
                @Html.LabelFor(model => model.UnidadMilitarId)
                @Html.AutocompleteFor(model => model.UnidadMilitarId, Url.Action("SearchByFilter","UnidadMilitar"))
                                
              </li>
              <li data-id="2">
                @Html.LabelFor(model => model.GradoId)
                @Html.AutocompleteFor(model => model.GradoId, Url.Action("SearchByFilter","Grado"))
              </li>
              <li data-id="2">
                @Html.LabelFor(model => model.TipoCargoComandoId)
                @Html.AutocompleteFor(model => model.TipoCargoComandoId, Url.Action("SearchByFilter","TipoCargoComando"))
              </li>
             
        
              <li data-id="2">
                @Html.LabelFor(model => model.Observaciones)
                @Html.EditorFor(model => model.Observaciones)
              </li>
          </ul>
             <input type="submit" id="btnCommon" class="button medium green" value="Guardar Datos de Configuracion"/>
     </fieldset>



    <div id="MyTableContainer"></div>
<script type="text/javascript">
    $(document).ready(function ()
    {

        $('#MyTableContainer').jtable({
            title: 'Requerimientos en la presente Gestion',
            paging: true,
            pageSize: 15,
            sorting: true,
            defaultSorting: 'Id ASC',
            actions: {
                listAction: '@Url.Action("JSONPagedListByPersona", "DestinoAsignado", new {personaId = Model.PersonaId_FK })',
                deleteAction: '@Url.Action("JSONDelete")'
            },
            fields:
            {
                Id: {
                    key: true,
                    create: false,
                    edit: false,
                    list: false
                }
                ,
                Guid: {
                    type: 'hidden'
                }
                ,
                GestionId_FK:{
                    title : 'Gestion',
                    create : true,
                    edit : true,
                    list : true,
                    options : '@Url.Action("../Gestion/JSONGetElementsForDropDownList")'
                },
                UnidadMilitarId: {
                    title: 'Unidad Militar',
                    create: true,
                    edit: true,
                    list: true,
                    options: '@Url.Action("../UnidadMilitar/JSONGetElementsForDropDownList")'
                }
                ,
                TipoCargoComandoId: {
                    title: 'Cargo',
                    create: true,
                    edit: true,
                    list: true,
                    options: '@Url.Action("../TipoCargoComando/JSONGetElementsForDropDownList")'
                }
                ,
                GradoId: {
                    title: 'Grado',
                    create: true,
                    edit: true,
                    list: true,
                    options: '@Url.Action("../Grado/JSONGetElementsForDropDownList")'
                }
                ,
                FechaAsignacion: {
                    title:'FechaAsignacion',
                    create: true,
                    edit: true,
                    list: true,
                    type: 'date',
                    displayFormat: 'dd/mm/yy',
                    inputClass: 'validate[required]',
                    sorting: false
                }
                ,
                RegistradoPor: {
                    title:'RegistradoPor',
                    create: true,
                    edit: true,
                    list: true,
                    inputClass: 'validate[required]',
                    sorting: false
                }                
                ,
               
                Foja: {
                    title: 'Foja',
                    width: '10px',
                    sorting: false,
                    edit: false,
                    create: false,
                    listClass: 'child-opener-image-column',
                    display: function (destinoData) {
                        var $img = $('<img class="child-opener-image" with="15" height="15" src="../../Content/images/services.png" title="Foja de Concepto/Evaluacion" />');
                        //Open child table when user clicks the image
                        $img.click(function () {
                            $('#MyTableContainer').jtable('openChildTable',
                                       $img.closest('tr'),
                                       {
                                           title: 'FOJA DE CONCEPTO EVALUATIVO DE : ' + destinoData.record.Persona.NombreCompleto,
                                           actions: {
                                               listAction: '@Url.Action("../EvaluacionDestino/GetPorDestinoGuid")?guid=' + destinoData.record.Guid,
                                            deleteAction: '@Url.Action("../EvaluacionDestino/JSONDelete")',
                                            updateAction: '@Url.Action("../EvaluacionDestino/JSONUpdate")',
                                            createAction: '@Url.Action("../EvaluacionDestino/JSONCreate")'
                                        },
                                        fields: {
                                            DestinoAsignadoId_FK: {
                                                type: 'hidden',
                                                defaultValue: destinoData.record.Id
                                            },

                                            Id: {
                                                key: true,
                                                create: false,
                                                edit: false,
                                                list: false
                                            },


                                            Guid: {
                                                type: 'hidden'
                                            }
                                            ,
                                            
                                            Descripcion: {
                                                title:'Descripcion',
                                                type: 'textarea',
                                                create: true,
                                                edit: true,
                                                list: true,
                                                sorting: false
                                            }
                                             ,
                                            NotaEvaluacion: {
                                                title:'NotaEvaluacion',
                                                create: true,
                                                edit: true,
                                                list: true,
                                                sorting: false
                                            }
                                            ,
                                            Observaciones: {
                                                title:'Observaciones',
                                                create: true,
                                                edit: true,
                                                list: true,
                                                sorting: false
                                            }
                                             ,
                                            FechaEvaluacion: {
                                                title:'FechaEvaluacion',
                                                create: true,
                                                edit: true,
                                                list: true,
                                                type: 'date',
                                                displayFormat: 'dd/mm/yy',
                                                inputClass: 'validate[required]',
                                                sorting: false
                                            }
                                            ,
                                            FechaRegistro: {
                                                title:'FechaRegistro',
                                                create: false,
                                                edit: false,
                                                list: true,
                                                type: 'date',
                                                displayFormat: 'dd/mm/yy',
                                                inputClass: 'validate[required]',
                                                sorting: false
                                            },
                                            Documento:
                                             {
                                                 title: 'Doc',
                                                 width: '50px',
                                                 sorting: false,
                                                 edit: false,
                                                 create: false,
                                                 listClass: 'child-opener-image-column',
                                                 display: function (tempData) {
                                                     var $img = $('<img class="child-opener-image" with="30" height="30" src="../../Content/images/menu/pictures.png" title="Documento Escaneado" />');
                                                     $img.click(function () {
                                                         //window.open('../Media/Cargar?guid=' + tempData.record.Guid);
                                                         location.href = '../Media/Cargar?guid=' + destinoData.record.Guid + '&titulo=EVALUACION de ' + destinoData.record.Persona.NombreCompleto
                                                     });

                                                     return $img;
                                                 }
                                             }

                                        }
                                    }, function (data) { //opened handler
                                        data.childTable.jtable('load');
                                    });
                     });
                     //Return image to show on the person row
                     return $img;
                 }
                }


             
            
            },
            formCreated: function (event, data) { data.form.validationEngine(); },
            formSubmitting: function (event, data) { return data.form.validationEngine('validate'); },
            formClosed: function (event, data) { data.form.validationEngine('hide'); data.form.validationEngine('detach'); }
        });       
        LoadDataTable();
    });

</script>





    <footer>

<input type="button" class="btnCancel" value="Regresar a Ficha Personal" onclick="history.go(-1);" />
</footer>
</div>
    
@section Scripts{@Scripts.Render("~/bundles/jqueryval")
<script type="text/javascript">
    $(document).ready(function () {
        $('#FechaDesde').datepicker({ dateFormat: "dd/mm/yy" }).val();
        $('#FechaHasta').datepicker({ dateFormat: "dd/mm/yy" }).val();
        $('#FechaAsignacion').datepicker({ dateFormat: "dd/mm/yy" }).val();
    });
</script>
    }
